From: Keir Fraser Date: Fri, 20 Mar 2009 08:43:53 +0000 (+0000) Subject: fs-back: unmapp all shared ring pages when a domain dies X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~13992^2~21 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=9c2e145d6843e65679b47c449af2737a9054ba03;p=xen.git fs-back: unmapp all shared ring pages when a domain dies This bug causes some pages not to be properly freed by xen, hence after a cycle of 50 save\restore we don't have enough spare memory to start 2 VMs any more. This patch fixes the issue properly unmapping all the pages needed by the shared ring. Signed-off-by: Stefano Stabellini --- diff --git a/tools/fs-back/fs-backend.c b/tools/fs-back/fs-backend.c index 7dc36f2699..721b2dc0a5 100644 --- a/tools/fs-back/fs-backend.c +++ b/tools/fs-back/fs-backend.c @@ -161,7 +161,7 @@ static void terminate_mount_request(struct fs_mount *mount) { while (!xenbus_frontend_state_changed(mount, STATE_CLOSING)); xenbus_write_backend_state(mount, STATE_CLOSED); - xc_gnttab_munmap(mount->gnth, mount->ring.sring, 1); + xc_gnttab_munmap(mount->gnth, mount->ring.sring, mount->shared_ring_size); xc_gnttab_close(mount->gnth); xc_evtchn_unbind(mount->evth, mount->local_evtchn); xc_evtchn_close(mount->evth);